home *** CD-ROM | disk | FTP | other *** search
/ System Booster / System Booster.iso / Commodities / ClipTool / src / imagegads.c < prev    next >
Encoding:
C/C++ Source or Header  |  1996-09-27  |  23.0 KB  |  643 lines

  1. /*
  2.  *  ClipTool (Udklipsværktøj) - A Commodities Exchange Application
  3.  *  Copyright (C) 1994 Torsten Poulin
  4.  *
  5.  *  imagegads.c - creates the button bar.
  6.  *                Images generated with IconEdit V38.7
  7.  *
  8.  *  This program is free software; you can redistribute it and/or modify
  9.  *  it under the terms of the GNU General Public License as published by
  10.  *  the Free Software Foundation; either version 2 of the License, or
  11.  *  (at your option) any later version.
  12.  *
  13.  *  This program is distributed in the hope that it will be useful,
  14.  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  15.  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  16.  *  GNU General Public License for more details.
  17.  *
  18.  *  You should have received a copy of the GNU General Public License
  19.  *  along with this program; if not, write to the Free Software
  20.  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  21.  *
  22.  *             The author can be contacted by mail at
  23.  *               Torsten Poulin
  24.  *               Banebrinken 99, 2, 77
  25.  *               DK-2400 Copenhagen NV
  26.  *               Denmark
  27.  *             or via email: torsten@diku.dk
  28.  *
  29.  * $Log:    imagegads.c,v $
  30.  * Revision 1.1  94/02/20  21:31:03  Torsten
  31.  * Initial revision
  32.  * 
  33.  */
  34.  
  35. static char const RCSid[] = "$Id: imagegads.c,v 1.1 94/02/20 21:31:03 Torsten Exp $";
  36.  
  37. #include "cliptool.h"
  38.  
  39. /*
  40.  * Two bitplane images
  41.  */
  42.  
  43. static UWORD chip openI1Data[] =
  44. {
  45.   /* Plane 0 */
  46.   0x3FFF,0xFFFF,0xF000,0xC000,0x0000,0x1C00,0xC000,0x0FC0,
  47.   0x3C00,0xC000,0x3033,0x3C00,0xC000,0x000F,0x3C00,0xC1F0,
  48.   0x003F,0x3C00,0xC60F,0xFF00,0x3C00,0xC600,0x0300,0x3C00,
  49.   0xC600,0x0300,0x3C00,0xC603,0xFFFF,0xFC00,0xC60C,0x0003,
  50.   0x3C00,0xC630,0x000C,0x3C00,0xC6C0,0x0030,0x3C00,0xC700,
  51.   0x00C0,0x3C00,0xC7FF,0xFF00,0x3C00,0xC000,0x0000,0x3C00,
  52.   0xDFFF,0xFFFF,0xFC00,0x3FFF,0xFFFF,0xF000,
  53.   /* Plane 1 */
  54.   0x0000,0x0000,0x0000,0x3FFF,0xFFFF,0xF000,0x3000,0x0FC0,
  55.   0x3000,0x3000,0x3033,0x3000,0x3000,0x000F,0x3000,0x3000,
  56.   0x003F,0x3000,0x31F0,0x0000,0x3000,0x31FF,0xFC00,0x3000,
  57.   0x31FF,0xFC00,0x3000,0x31FC,0x0000,0x3000,0x31F0,0x0000,
  58.   0x3000,0x31C0,0x0000,0x3000,0x3100,0x0000,0x3000,0x3000,
  59.   0x0000,0x3000,0x3000,0x0000,0x3000,0x3000,0x0000,0x3000,
  60.   0x3FFF,0xFFFF,0xF000,0x0000,0x0000,0x0000,
  61. };
  62.  
  63. static UWORD chip openI2Data[] =
  64. {
  65.   /* Plane 0 */
  66.   0x3FFF,0xFFFF,0xF000,0xFFFF,0xFFFF,0xFC00,0xE000,0x0000,
  67.   0x0C00,0xE000,0x07E0,0x1C00,0xE000,0x1819,0x9C00,0xE000,
  68.   0x0007,0x9C00,0xE0F8,0x001F,0x9C00,0xE307,0xFF80,0x1C00,
  69.   0xE300,0x0180,0x1C00,0xE300,0x0180,0x1C00,0xE301,0xFFFF,
  70.   0xFC00,0xE306,0x0001,0x9C00,0xE318,0x0006,0x1C00,0xE360,
  71.   0x0018,0x1C00,0xE380,0x0060,0x1C00,0xE3FF,0xFF80,0x1C00,
  72.   0xE000,0x0000,0x1C00,0x3FFF,0xFFFF,0xF000,
  73.   /* Plane 1 */
  74.   0x0000,0x0000,0x0000,0x3FFF,0xFFFF,0xF000,0x3FFF,0xFFFF,
  75.   0xF000,0x3800,0x07E0,0x1000,0x3800,0x1819,0x9000,0x3800,
  76.   0x0007,0x9000,0x3800,0x001F,0x9000,0x38F8,0x0000,0x1000,
  77.   0x38FF,0xFE00,0x1000,0x38FF,0xFE00,0x1000,0x38FE,0x0000,
  78.   0x1000,0x38F8,0x0000,0x1000,0x38E0,0x0000,0x1000,0x3880,
  79.   0x0000,0x1000,0x3800,0x0000,0x1000,0x3800,0x0000,0x1000,
  80.   0x3800,0x0000,0x1000,0x0000,0x0000,0x0000,
  81. };
  82.  
  83. static struct Image openI1 =
  84. {
  85.   0, 0,            /* Upper left corner */
  86.   38, 18, 2,        /* Width, Height, Depth */
  87.   openI1Data,        /* Image data */
  88.   0x0003, 0x0000,    /* PlanePick, PlaneOnOff */
  89.   NULL
  90. };
  91.  
  92. static struct Image openI2 = {
  93.   0, 0, 38, 18, 2, openI2Data, 0x0003, 0x0000, NULL
  94. };
  95.  
  96.  
  97. static UWORD chip save1I1Data[] =
  98. {
  99.   /* Plane 0 */
  100.   0x3FFF,0xFFFF,0xF000,0xC000,0x0000,0x1C00,0xC000,0x03F0,
  101.   0x3C00,0xC000,0xCC0C,0x3C00,0xC000,0xF000,0x3C00,0xC000,
  102.   0xFC00,0x3C00,0xC1F8,0x0000,0x3C00,0xC607,0xFFFF,0x3C00,
  103.   0xC600,0x0003,0x3C00,0xC7FF,0xFFFF,0x3C00,0xC600,0x0003,
  104.   0x3C00,0xC600,0x0003,0x3C00,0xC600,0x0003,0x3C00,0xC600,
  105.   0x0003,0x3C00,0xC600,0x0003,0x3C00,0xC7FF,0xFFFF,0x3C00,
  106.   0xDFFF,0xFFFF,0xFC00,0x3FFF,0xFFFF,0xF000,
  107.   /* Plane 1 */
  108.   0x0000,0x0000,0x0000,0x3FFF,0xFFFF,0xF000,0x3000,0x03F0,
  109.   0x3000,0x3000,0xCC0C,0x3000,0x3000,0xF000,0x3000,0x3000,
  110.   0xFC00,0x3000,0x3000,0x0000,0x3000,0x31F8,0x0000,0x3000,
  111.   0x31FF,0xFFFC,0x3000,0x3000,0x0000,0x3000,0x3000,0x0000,
  112.   0x3000,0x3000,0x0000,0x3000,0x3000,0x0000,0x3000,0x3000,
  113.   0x0000,0x3000,0x3000,0x0000,0x3000,0x3000,0x0000,0x3000,
  114.   0x3FFF,0xFFFF,0xF000,0x0000,0x0000,0x0000,
  115. };
  116.  
  117. static UWORD chip save1I2Data[] =
  118. {
  119.   /* Plane 0 */
  120.   0x3FFF,0xFFFF,0xF000,0xFFFF,0xFFFF,0xFC00,0xE000,0x0000,
  121.   0x0C00,0xE000,0x01F8,0x1C00,0xE000,0x6606,0x1C00,0xE000,
  122.   0x7800,0x1C00,0xE000,0x7E00,0x1C00,0xE0FC,0x0000,0x1C00,
  123.   0xE303,0xFFFF,0x9C00,0xE300,0x0001,0x9C00,0xE3FF,0xFFFF,
  124.   0x9C00,0xE300,0x0001,0x9C00,0xE300,0x0001,0x9C00,0xE300,
  125.   0x0001,0x9C00,0xE300,0x0001,0x9C00,0xE300,0x0001,0x9C00,
  126.   0xE3FF,0xFFFF,0x9C00,0x3FFF,0xFFFF,0xF000,
  127.   /* Plane 1 */
  128.   0x0000,0x0000,0x0000,0x3FFF,0xFFFF,0xF000,0x3FFF,0xFFFF,
  129.   0xF000,0x3800,0x01F8,0x1000,0x3800,0x6606,0x1000,0x3800,
  130.   0x7800,0x1000,0x3800,0x7E00,0x1000,0x3800,0x0000,0x1000,
  131.   0x38FC,0x0000,0x1000,0x38FF,0xFFFE,0x1000,0x3800,0x0000,
  132.   0x1000,0x3800,0x0000,0x1000,0x3800,0x0000,0x1000,0x3800,
  133.   0x0000,0x1000,0x3800,0x0000,0x1000,0x3800,0x0000,0x1000,
  134.   0x3800,0x0000,0x1000,0x0000,0x0000,0x0000,
  135. };
  136.  
  137. static struct Image save1I1 = {
  138.   0, 0, 38, 18, 2, save1I1Data, 0x0003, 0x0000, NULL
  139. };
  140.  
  141. static struct Image save1I2 = {
  142.   0, 0, 38, 18, 2, save1I2Data, 0x0003, 0x0000, NULL
  143. };
  144.  
  145.  
  146. static UWORD chip cutI1Data[] =
  147. {
  148.   /* Plane 0 */
  149.   0x3FFF,0xFFFF,0xF000,0xC000,0x0000,0x1C00,0xC000,0x0000,
  150.   0x3C00,0xC000,0x0003,0xFC00,0xC7F8,0x003C,0x7C00,0xCC0E,
  151.   0x03C3,0xBC00,0xC603,0x0C1C,0x3C00,0xC3FF,0xD060,0x3C00,
  152.   0xC000,0xF780,0x3C00,0xC000,0xFD80,0x3C00,0xC1FF,0xD060,
  153.   0x3C00,0xC603,0x0C1C,0x3C00,0xCC0E,0x03C3,0xBC00,0xC7F8,
  154.   0x003C,0x7C00,0xC000,0x0003,0xFC00,0xC000,0x0000,0x3C00,
  155.   0xDFFF,0xFFFF,0xFC00,0x3FFF,0xFFFF,0xF000,
  156.   /* Plane 1 */
  157.   0x0000,0x0000,0x0000,0x3FFF,0xFFFF,0xF000,0x3000,0x0000,
  158.   0x3000,0x3000,0x0000,0x3000,0x3000,0x0003,0xB000,0x3000,
  159.   0x003C,0x3000,0x3000,0x03E0,0x3000,0x3000,0x0F80,0x3000,
  160.   0x3000,0x0800,0x3000,0x3000,0x0200,0x3000,0x3000,0x0F80,
  161.   0x3000,0x3000,0x03E0,0x3000,0x3000,0x003C,0x3000,0x3000,
  162.   0x0003,0xB000,0x3000,0x0000,0x3000,0x3000,0x0000,0x3000,
  163.   0x3FFF,0xFFFF,0xF000,0x0000,0x0000,0x0000,
  164. };
  165.  
  166. static UWORD chip cutI2Data[] =
  167. {
  168.   /* Plane 0 */
  169.   0x3FFF,0xFFFF,0xF000,0xFFFF,0xFFFF,0xFC00,0xE000,0x0000,
  170.   0x0C00,0xE000,0x0000,0x1C00,0xE000,0x0001,0xFC00,0xE3FC,
  171.   0x001E,0x3C00,0xE607,0x01E1,0xDC00,0xE301,0x860E,0x1C00,
  172.   0xE1FF,0xE830,0x1C00,0xE000,0x7BC0,0x1C00,0xE000,0x7EC0,
  173.   0x1C00,0xE0FF,0xE830,0x1C00,0xE301,0x860E,0x1C00,0xE607,
  174.   0x01E1,0xDC00,0xE3FC,0x001E,0x3C00,0xE000,0x0001,0xFC00,
  175.   0xE000,0x0000,0x1C00,0x3FFF,0xFFFF,0xF000,
  176.   /* Plane 1 */
  177.   0x0000,0x0000,0x0000,0x3FFF,0xFFFF,0xF000,0x3FFF,0xFFFF,
  178.   0xF000,0x3800,0x0000,0x1000,0x3800,0x0000,0x1000,0x3800,
  179.   0x0001,0xD000,0x3800,0x001E,0x1000,0x3800,0x01F0,0x1000,
  180.   0x3800,0x07C0,0x1000,0x3800,0x0400,0x1000,0x3800,0x0100,
  181.   0x1000,0x3800,0x07C0,0x1000,0x3800,0x01F0,0x1000,0x3800,
  182.   0x001E,0x1000,0x3800,0x0001,0xD000,0x3800,0x0000,0x1000,
  183.   0x3800,0x0000,0x1000,0x0000,0x0000,0x0000,
  184. };
  185.  
  186. static struct Image cutI1 = {
  187.   0, 0, 38, 18, 2, cutI1Data, 0x0003, 0x0000, NULL
  188. };
  189.  
  190. static struct Image cutI2 = {
  191.   0, 0, 38, 18, 2, cutI2Data, 0x0003, 0x0000, NULL
  192. };
  193.  
  194.  
  195. static UWORD chip copyI1Data[] =
  196. {
  197.   /* Plane 0 */
  198.   0x3FFF,0xFFFF,0xF000,0xC000,0x0000,0x1C00,0xC07F,0xFFC0,
  199.   0x3C00,0xC040,0x0040,0x3C00,0xC040,0xFFFE,0x3C00,0xC040,
  200.   0x8002,0x3C00,0xC383,0x0002,0x3C00,0xC3FB,0xC002,0x3C00,
  201.   0xC3FF,0xF002,0x3C00,0xC0FF,0xFC02,0x3C00,0xC04F,0xF002,
  202.   0x3C00,0xC043,0xC002,0x3C00,0xC043,0x0002,0x3C00,0xC07C,
  203.   0x8002,0x3C00,0xC000,0x8002,0x3C00,0xC000,0xFFFE,0x3C00,
  204.   0xDFFF,0xFFFF,0xFC00,0x3FFF,0xFFFF,0xF000,
  205.   /* Plane 1 */
  206.   0x0000,0x0000,0x0000,0x3FFF,0xFFFF,0xF000,0x3000,0x0000,
  207.   0x3000,0x3000,0x0000,0x3000,0x3000,0x0000,0x3000,0x3000,
  208.   0x7FFC,0x3000,0x3000,0x7FFC,0x3000,0x3181,0x3FFC,0x3000,
  209.   0x30F9,0xCFFC,0x3000,0x300F,0xF3FC,0x3000,0x3001,0xCFFC,
  210.   0x3000,0x3001,0x3FFC,0x3000,0x3000,0x7FFC,0x3000,0x3000,
  211.   0x7FFC,0x3000,0x3000,0x7FFC,0x3000,0x3000,0x0000,0x3000,
  212.   0x3FFF,0xFFFF,0xF000,0x0000,0x0000,0x0000,
  213. };
  214.  
  215. static UWORD chip copyI2Data[] =
  216. {
  217.   /* Plane 0 */
  218.   0x3FFF,0xFFFF,0xF000,0xFFFF,0xFFFF,0xFC00,0xE000,0x0000,
  219.   0x0C00,0xE03F,0xFFE0,0x1C00,0xE020,0x0020,0x1C00,0xE020,
  220.   0x7FFF,0x1C00,0xE020,0x4001,0x1C00,0xE1C1,0x8001,0x1C00,
  221.   0xE1FD,0xE001,0x1C00,0xE1FF,0xF801,0x1C00,0xE07F,0xFE01,
  222.   0x1C00,0xE027,0xF801,0x1C00,0xE021,0xE001,0x1C00,0xE021,
  223.   0x8001,0x1C00,0xE03E,0x4001,0x1C00,0xE000,0x4001,0x1C00,
  224.   0xE000,0x7FFF,0x1C00,0x3FFF,0xFFFF,0xF000,
  225.   /* Plane 1 */
  226.   0x0000,0x0000,0x0000,0x3FFF,0xFFFF,0xF000,0x3FFF,0xFFFF,
  227.   0xF000,0x3800,0x0000,0x1000,0x3800,0x0000,0x1000,0x3800,
  228.   0x0000,0x1000,0x3800,0x3FFE,0x1000,0x3800,0x3FFE,0x1000,
  229.   0x38C0,0x9FFE,0x1000,0x387C,0xE7FE,0x1000,0x3807,0xF9FE,
  230.   0x1000,0x3800,0xE7FE,0x1000,0x3800,0x9FFE,0x1000,0x3800,
  231.   0x3FFE,0x1000,0x3800,0x3FFE,0x1000,0x3800,0x3FFE,0x1000,
  232.   0x3800,0x0000,0x1000,0x0000,0x0000,0x0000,
  233. };
  234.  
  235. static struct Image copyI1 = {
  236.   0, 0, 38, 18, 2, copyI1Data, 0x0003, 0x0000, NULL
  237. };
  238.  
  239. static struct Image copyI2 = {
  240.   0, 0, 38, 18, 2, copyI2Data, 0x0003, 0x0000, NULL
  241. };
  242.  
  243.  
  244. static UWORD chip pasteI1Data[] =
  245. {
  246.   /* Plane 0 */
  247.   0x3FFF,0xFFFF,0xF000,0xC000,0x0000,0x1C00,0xC000,0x7800,
  248.   0x3C00,0xC000,0x4800,0x3C00,0xC000,0x4800,0x3C00,0xC007,
  249.   0xFF80,0x3C00,0xC006,0x0180,0x3C00,0xC007,0xFF80,0x3C00,
  250.   0xC01E,0x01E0,0x3C00,0xC019,0xFE60,0x3C00,0xC018,0x7860,
  251.   0x3C00,0xC018,0x4860,0x3C00,0xC018,0x4860,0x3C00,0xC018,
  252.   0x7860,0x3C00,0xC01E,0x01E0,0x3C00,0xC007,0xFF80,0x3C00,
  253.   0xDFFF,0xFFFF,0xFC00,0x3FFF,0xFFFF,0xF000,
  254.   /* Plane 1 */
  255.   0x0000,0x0000,0x0000,0x3FFF,0xFFFF,0xF000,0x3000,0x0000,
  256.   0x3000,0x3000,0x0000,0x3000,0x3000,0x0000,0x3000,0x3000,
  257.   0x0000,0x3000,0x3000,0x0000,0x3000,0x3001,0xFE00,0x3000,
  258.   0x3000,0x0000,0x3000,0x3007,0xFF80,0x3000,0x3007,0xFF80,
  259.   0x3000,0x3007,0xCF80,0x3000,0x3007,0xCF80,0x3000,0x3007,
  260.   0xFF80,0x3000,0x3001,0xFE00,0x3000,0x3000,0x0000,0x3000,
  261.   0x3FFF,0xFFFF,0xF000,0x0000,0x0000,0x0000,
  262. };
  263.  
  264. static UWORD chip pasteI2Data[] =
  265. {
  266.   /* Plane 0 */
  267.   0x3FFF,0xFFFF,0xF800,0xFFFF,0xFFFF,0xFC00,0xE000,0x0000,
  268.   0x0C00,0xE000,0x3C00,0x1C00,0xE000,0x2400,0x1C00,0xE000,
  269.   0x2400,0x1C00,0xE003,0xFFC0,0x1C00,0xE003,0x00C0,0x1C00,
  270.   0xE003,0xFFC0,0x1C00,0xE00F,0x00F0,0x1C00,0xE00C,0xFF30,
  271.   0x1C00,0xE00C,0x3C30,0x1C00,0xE00C,0x2430,0x1C00,0xE00C,
  272.   0x2430,0x1C00,0xE00C,0x3C30,0x1C00,0xE00F,0x00F0,0x1C00,
  273.   0xE003,0xFFC0,0x1C00,0x3FFF,0xFFFF,0xF000,
  274.   /* Plane 1 */
  275.   0x0000,0x0000,0x0000,0x3FFF,0xFFFF,0xF000,0x3FFF,0xFFFF,
  276.   0xF000,0x3800,0x0000,0x1000,0x3800,0x0000,0x1000,0x3800,
  277.   0x0000,0x1000,0x3800,0x0000,0x1000,0x3800,0x0000,0x1000,
  278.   0x3800,0xFF00,0x1000,0x3800,0x0000,0x1000,0x3803,0xFFC0,
  279.   0x1000,0x3803,0xFFC0,0x1000,0x3803,0xE7C0,0x1000,0x3803,
  280.   0xE7C0,0x1000,0x3803,0xFFC0,0x1000,0x3800,0xFF00,0x1000,
  281.   0x3800,0x0000,0x1000,0x0000,0x0000,0x0000,
  282. };
  283.  
  284. static struct Image pasteI1 = {
  285.   0, 0, 38, 18, 2, pasteI1Data, 0x0003, 0x0000, NULL
  286. };
  287.  
  288. static struct Image pasteI2 = {
  289.   0, 0, 38, 18, 2, pasteI2Data, 0x0003, 0x0000, NULL
  290. };
  291.  
  292.  
  293. static UWORD chip prevI1Data[] =
  294. {
  295.   /* Plane 0 */
  296.   0x3FFF,0xFFFF,0xF000,0xC000,0x0000,0x1C00,0xC000,0x0000,
  297.   0x3C00,0xC000,0x0380,0x3C00,0xC000,0x0C80,0x3C00,0xC000,
  298.   0x3080,0x3C00,0xC000,0xC080,0x3C00,0xC003,0x0080,0x3C00,
  299.   0xC00C,0x0080,0x3C00,0xC008,0x0080,0x3C00,0xC002,0x0080,
  300.   0x3C00,0xC000,0x8080,0x3C00,0xC000,0x2080,0x3C00,0xC000,
  301.   0x0880,0x3C00,0xC000,0x0280,0x3C00,0xC000,0x0000,0x3C00,
  302.   0xDFFF,0xFFFF,0xFC00,0x3FFF,0xFFFF,0xF000,
  303.   /* Plane 1 */
  304.   0x0000,0x0000,0x0000,0x3FFF,0xFFFF,0xF000,0x3000,0x0000,
  305.   0x3000,0x3000,0x0180,0x3000,0x3000,0x0180,0x3000,0x3000,
  306.   0x0180,0x3000,0x3000,0x0180,0x3000,0x3000,0x0180,0x3000,
  307.   0x3000,0x0180,0x3000,0x3004,0x0180,0x3000,0x3001,0x0180,
  308.   0x3000,0x3000,0x4180,0x3000,0x3000,0x1180,0x3000,0x3000,
  309.   0x0580,0x3000,0x3000,0x0180,0x3000,0x3000,0x0000,0x3000,
  310.   0x3FFF,0xFFFF,0xF000,0x0000,0x0000,0x0000,
  311. };
  312.  
  313. static UWORD chip prevI2Data[] =
  314. {
  315.   /* Plane 0 */
  316.   0x3FFF,0xFFFF,0xF000,0xFFFF,0xFFFF,0xFC00,0xE000,0x0000,
  317.   0x0C00,0xE000,0x0000,0x1C00,0xE000,0x01C0,0x1C00,0xE000,
  318.   0x0640,0x1C00,0xE000,0x1840,0x1C00,0xE000,0x6040,0x1C00,
  319.   0xE001,0x8040,0x1C00,0xE006,0x0040,0x1C00,0xE004,0x0040,
  320.   0x1C00,0xE001,0x0040,0x1C00,0xE000,0x4040,0x1C00,0xE000,
  321.   0x1040,0x1C00,0xE000,0x0440,0x1C00,0xE000,0x0140,0x1C00,
  322.   0xE000,0x0000,0x1C00,0x3FFF,0xFFFF,0xF000,
  323.   /* Plane 1 */
  324.   0x0000,0x0000,0x0000,0x3FFF,0xFFFF,0xF000,0x3FFF,0xFFFF,
  325.   0xF000,0x3800,0x0000,0x1000,0x3800,0x00C0,0x1000,0x3800,
  326.   0x00C0,0x1000,0x3800,0x00C0,0x1000,0x3800,0x00C0,0x1000,
  327.   0x3800,0x00C0,0x1000,0x3800,0x00C0,0x1000,0x3802,0x00C0,
  328.   0x1000,0x3800,0x80C0,0x1000,0x3800,0x20C0,0x1000,0x3800,
  329.   0x08C0,0x1000,0x3800,0x02C0,0x1000,0x3800,0x00C0,0x1000,
  330.   0x3800,0x0000,0x1000,0x0000,0x0000,0x0000,
  331. };
  332.  
  333. static struct Image prevI1 = {
  334.   0, 0, 38, 18, 2, prevI1Data, 0x0003, 0x0000, NULL
  335. };
  336.  
  337. static struct Image prevI2 = {
  338.   0, 0, 38, 18, 2, prevI2Data, 0x0003, 0x0000, NULL
  339. };
  340.  
  341.  
  342. static UWORD chip nextI1Data[] =
  343. {
  344.   /* Plane 0 */
  345.   0x3FFF,0xFFFF,0xF000,0xC000,0x0000,0x1C00,0xC000,0x0000,
  346.   0x3C00,0xC007,0x0000,0x3C00,0xC006,0x4000,0x3C00,0xC006,
  347.   0x1000,0x3C00,0xC006,0x0400,0x3C00,0xC006,0x0100,0x3C00,
  348.   0xC006,0x0040,0x3C00,0xC006,0x0040,0x3C00,0xC006,0x0100,
  349.   0x3C00,0xC006,0x0400,0x3C00,0xC006,0x1000,0x3C00,0xC006,
  350.   0x4000,0x3C00,0xC007,0x0000,0x3C00,0xC000,0x0000,0x3C00,
  351.   0xDFFF,0xFFFF,0xFC00,0x3FFF,0xFFFF,0xF000,
  352.   /* Plane 1 */
  353.   0x0000,0x0000,0x0000,0x3FFF,0xFFFF,0xF000,0x3000,0x0000,
  354.   0x3000,0x3004,0x0000,0x3000,0x3004,0x8000,0x3000,0x3004,
  355.   0x2000,0x3000,0x3004,0x0800,0x3000,0x3004,0x0200,0x3000,
  356.   0x3004,0x0080,0x3000,0x3004,0x00C0,0x3000,0x3004,0x0300,
  357.   0x3000,0x3004,0x0C00,0x3000,0x3004,0x3000,0x3000,0x3004,
  358.   0xC000,0x3000,0x3005,0x0000,0x3000,0x3000,0x0000,0x3000,
  359.   0x3FFF,0xFFFF,0xF000,0x0000,0x0000,0x0000,
  360. };
  361.  
  362. static UWORD chip nextI2Data[] =
  363. {
  364.   /* Plane 0 */
  365.   0x3FFF,0xFFFF,0xF000,0xFFFF,0xFFFF,0xFC00,0xE000,0x0000,
  366.   0x0C00,0xE000,0x0000,0x1C00,0xE003,0x8000,0x1C00,0xE003,
  367.   0x2000,0x1C00,0xE003,0x0800,0x1C00,0xE003,0x0200,0x1C00,
  368.   0xE003,0x0080,0x1C00,0xE003,0x0020,0x1C00,0xE003,0x0020,
  369.   0x1C00,0xE003,0x0080,0x1C00,0xE003,0x0200,0x1C00,0xE003,
  370.   0x0800,0x1C00,0xE003,0x2000,0x1C00,0xE003,0x8000,0x1C00,
  371.   0xE000,0x0000,0x1C00,0x3FFF,0xFFFF,0xF000,
  372.   /* Plane 1 */
  373.   0x0000,0x0000,0x0000,0x3FFF,0xFFFF,0xF000,0x3FFF,0xFFFF,
  374.   0xF000,0x3800,0x0000,0x1000,0x3802,0x0000,0x1000,0x3802,
  375.   0x4000,0x1000,0x3802,0x1000,0x1000,0x3802,0x0400,0x1000,
  376.   0x3802,0x0100,0x1000,0x3802,0x0040,0x1000,0x3802,0x0060,
  377.   0x1000,0x3802,0x0180,0x1000,0x3802,0x0600,0x1000,0x3802,
  378.   0x1800,0x1000,0x3802,0x6000,0x1000,0x3802,0x8000,0x1000,
  379.   0x3800,0x0000,0x1000,0x0000,0x0000,0x0000,
  380. };
  381.  
  382. static struct Image nextI1 = {
  383.   0, 0, 38, 18, 2, nextI1Data, 0x0003, 0x0000, NULL
  384. };
  385.  
  386. static struct Image nextI2 = {
  387.   0, 0, 38, 18, 2, nextI2Data, 0x0003, 0x0000, NULL
  388. };
  389.  
  390.  
  391. static UWORD chip killI1Data[] =
  392. {
  393.   /* Plane 0 */
  394.   0x3FFF,0xFFFF,0xF000,0xC000,0x0000,0x1C00,0xC000,0x0000,
  395.   0x3C00,0xC001,0xFE00,0x3C00,0xC007,0xFF80,0x3C00,0xC01C,
  396.   0x78E0,0x3C00,0xC03C,0x78F0,0x3C00,0xC03F,0xFFF0,0x3C00,
  397.   0xC007,0xFF80,0x3C00,0xC001,0xFE00,0x3C00,0xC000,0xFC00,
  398.   0x3C00,0xC3C0,0x780F,0x3C00,0xC1FE,0x03FE,0x3C00,0xC003,
  399.   0xFF00,0x3C00,0xC0EF,0x87CC,0x3C00,0xC0F8,0x007C,0x3C00,
  400.   0xDFFF,0xFFFF,0xFC00,0x3FFF,0xFFFF,0xF000,
  401.   /* Plane 1 */
  402.   0x0000,0x0000,0x0000,0x3FFF,0xFFFF,0xF000,0x3000,0x0000,
  403.   0x3000,0x3000,0x0000,0x3000,0x3000,0x0000,0x3000,0x3000,
  404.   0x0000,0x3000,0x3000,0x0000,0x3000,0x3000,0x0000,0x3000,
  405.   0x3000,0x0000,0x3000,0x3000,0x0000,0x3000,0x3000,0x0000,
  406.   0x3000,0x3040,0x0008,0x3000,0x3002,0x0300,0x3000,0x3000,
  407.   0x0000,0x3000,0x3020,0x0000,0x3000,0x3008,0x0040,0x3000,
  408.   0x3FFF,0xFFFF,0xF000,0x0000,0x0000,0x0000,
  409. };
  410.  
  411. static UWORD chip killI2Data[] =
  412. {
  413.   /* Plane 0 */
  414.   0x3FFF,0xFFFF,0xF000,0xFFFF,0xFFFF,0xFC00,0xE000,0x0000,
  415.   0x0C00,0xE000,0x0000,0x1C00,0xE000,0xFF00,0x1C00,0xE003,
  416.   0xFFC0,0x1C00,0xE00E,0x3C70,0x1C00,0xE01E,0x3C78,0x1C00,
  417.   0xE01F,0xFFF8,0x1C00,0xE003,0xFFC0,0x1C00,0xE000,0xFF00,
  418.   0x1C00,0xE000,0x7E00,0x1C00,0xE1E0,0x3C07,0x9C00,0xE0FF,
  419.   0x01FF,0x1C00,0xE001,0xFF80,0x1C00,0xE077,0xC3E6,0x1C00,
  420.   0xE07C,0x003E,0x1C00,0x3FFF,0xFFFF,0xF000,
  421.   /* Plane 1 */
  422.   0x0000,0x0000,0x0000,0x3FFF,0xFFFF,0xF000,0x3FFF,0xFFFF,
  423.   0xF000,0x3800,0x0000,0x1000,0x3800,0x0000,0x1000,0x3800,
  424.   0x0000,0x1000,0x3800,0x0000,0x1000,0x3800,0x0000,0x1000,
  425.   0x3800,0x0000,0x1000,0x3800,0x0000,0x1000,0x3800,0x0000,
  426.   0x1000,0x3800,0x0000,0x1000,0x3820,0x0004,0x1000,0x3801,
  427.   0x0180,0x1000,0x3800,0x0000,0x1000,0x3810,0x0000,0x1000,
  428.   0x3804,0x0020,0x1000,0x0000,0x0000,0x0000,
  429. };
  430.  
  431. static struct Image killI1 = {
  432.   0, 0, 38, 18, 2, killI1Data, 0x0003, 0x0000, NULL
  433. };
  434.  
  435. static struct Image killI2 = {
  436.   0, 0, 38, 18, 2, killI2Data, 0x0003, 0x0000, NULL
  437. };
  438.  
  439.  
  440. /*
  441.  * One bitplane images
  442.  */
  443.  
  444. static UWORD chip ONEopenI1Data[] =
  445. {
  446.   /* Plane 0 */
  447.   0xFFFF,0xFFFF,0xFC00,0xC000,0x0000,0x0C00,0xC000,0x0FC0,
  448.   0x0C00,0xC000,0x3033,0x0C00,0xC000,0x000F,0x0C00,0xC1F0,
  449.   0x003F,0x0C00,0xC60F,0xFF00,0x0C00,0xC600,0x0300,0x0C00,
  450.   0xC600,0x0300,0x0C00,0xC603,0xFFFF,0xCC00,0xC60C,0x0003,
  451.   0x0C00,0xC630,0x000C,0x0C00,0xC6C0,0x0030,0x0C00,0xC700,
  452.   0x00C0,0x0C00,0xC7FF,0xFF00,0x0C00,0xC000,0x0000,0x0C00,
  453.   0xC000,0x0000,0x0C00,0xFFFF,0xFFFF,0xFC00,
  454. };
  455.  
  456. static struct Image ONEopenI1 = {
  457.   0, 0, 38, 18, 1, ONEopenI1Data, 0x0001, 0x0000, NULL
  458. };
  459.  
  460.  
  461. static UWORD chip ONEsave1I1Data[] =
  462. {
  463.   /* Plane 0 */
  464.   0xFFFF,0xFFFF,0xFC00,0xC000,0x0000,0x0C00,0xC000,0x03F0,
  465.   0x0C00,0xC000,0xCC0C,0x0C00,0xC000,0xF000,0x0C00,0xC000,
  466.   0xFC00,0x0C00,0xC1F8,0x0000,0x0C00,0xC607,0xFFFF,0x0C00,
  467.   0xC600,0x0003,0x0C00,0xC7FF,0xFFFF,0x0C00,0xC600,0x0003,
  468.   0x0C00,0xC600,0x0003,0x0C00,0xC600,0x0003,0x0C00,0xC600,
  469.   0x0003,0x0C00,0xC600,0x0003,0x0C00,0xC7FF,0xFFFF,0x0C00,
  470.   0xC000,0x0000,0x0C00,0xFFFF,0xFFFF,0xFC00,
  471. };
  472.  
  473. static struct Image ONEsave1I1 = {
  474.   0, 0, 38, 18, 1, ONEsave1I1Data, 0x0001, 0x0000, NULL
  475. };
  476.  
  477.  
  478. static UWORD chip ONEcutI1Data[] =
  479. {
  480.   /* Plane 0 */
  481.   0xFFFF,0xFFFF,0xFC00,0xC000,0x0000,0x0C00,0xC000,0x0000,
  482.   0x0C00,0xC000,0x0003,0xCC00,0xC7F8,0x003C,0x4C00,0xCC0E,
  483.   0x03C3,0x8C00,0xC603,0x0C1C,0x0C00,0xC3FF,0xD060,0x0C00,
  484.   0xC000,0xF780,0x0C00,0xC000,0xFD80,0x0C00,0xC1FF,0xD060,
  485.   0x0C00,0xC603,0x0C1C,0x0C00,0xCC0E,0x03C3,0x8C00,0xC7F8,
  486.   0x003C,0x4C00,0xC000,0x0003,0xCC00,0xC000,0x0000,0x0C00,
  487.   0xC000,0x0000,0x0C00,0xFFFF,0xFFFF,0xFC00,
  488. };
  489.  
  490. static struct Image ONEcutI1 = {
  491.   0, 0, 38, 18, 1, ONEcutI1Data, 0x0001, 0x0000, NULL
  492. };
  493.  
  494.  
  495. static UWORD chip ONEcopyI1Data[] =
  496. {
  497.   /* Plane 0 */
  498.   0xFFFF,0xFFFF,0xFC00,0xC000,0x0000,0x0C00,0xC07F,0xFFC0,
  499.   0x0C00,0xC040,0x0040,0x0C00,0xC040,0xFFFE,0x0C00,0xC040,
  500.   0x8002,0x0C00,0xC383,0x0002,0x0C00,0xC3FB,0xC002,0x0C00,
  501.   0xC3FF,0xF002,0x0C00,0xC0FF,0xFC02,0x0C00,0xC04F,0xF002,
  502.   0x0C00,0xC043,0xC002,0x0C00,0xC043,0x0002,0x0C00,0xC07C,
  503.   0x8002,0x0C00,0xC000,0x8002,0x0C00,0xC000,0xFFFE,0x0C00,
  504.   0xC000,0x0000,0x0C00,0xFFFF,0xFFFF,0xFC00,
  505. };
  506.  
  507. static struct Image ONEcopyI1 = {
  508.   0, 0, 38, 18, 1, ONEcopyI1Data, 0x0001, 0x0000, NULL
  509. };
  510.  
  511.  
  512. static UWORD chip ONEpasteI1Data[] =
  513. {
  514.   /* Plane 0 */
  515.   0xFFFF,0xFFFF,0xFC00,0xC000,0x0000,0x0C00,0xC000,0x7800,
  516.   0x0C00,0xC000,0x4800,0x0C00,0xC000,0x4800,0x0C00,0xC007,
  517.   0xFF80,0x0C00,0xC006,0x0180,0x0C00,0xC007,0xFF80,0x0C00,
  518.   0xC01E,0x01E0,0x0C00,0xC019,0xFE60,0x0C00,0xC018,0x7860,
  519.   0x0C00,0xC018,0x4860,0x0C00,0xC018,0x4860,0x0C00,0xC018,
  520.   0x7860,0x0C00,0xC01E,0x01E0,0x0C00,0xC007,0xFF80,0x0C00,
  521.   0xC000,0x0000,0x0C00,0xFFFF,0xFFFF,0xFC00,
  522. };
  523.  
  524. static struct Image ONEpasteI1 = {
  525.   0, 0, 38, 18, 1, ONEpasteI1Data, 0x0001, 0x0000, NULL
  526. };
  527.  
  528.  
  529. static UWORD chip ONEprevI1Data[] =
  530. {
  531.   /* Plane 0 */
  532.   0xFFFF,0xFFFF,0xFC00,0xC000,0x0000,0x0C00,0xC000,0x0000,
  533.   0x0C00,0xC000,0x0380,0x0C00,0xC000,0x0F80,0x0C00,0xC000,
  534.   0x3F80,0x0C00,0xC000,0xFF80,0x0C00,0xC003,0xFF80,0x0C00,
  535.   0xC00F,0xFF80,0x0C00,0xC00F,0xFF80,0x0C00,0xC003,0xFF80,
  536.   0x0C00,0xC000,0xFF80,0x0C00,0xC000,0x3F80,0x0C00,0xC000,
  537.   0x0F80,0x0C00,0xC000,0x0380,0x0C00,0xC000,0x0000,0x0C00,
  538.   0xC000,0x0000,0x0C00,0xFFFF,0xFFFF,0xFC00,
  539. };
  540.  
  541. static struct Image ONEprevI1 = {
  542.   0, 0, 38, 18, 1, ONEprevI1Data, 0x0001, 0x0000, NULL
  543. };
  544.  
  545. static UWORD chip ONEnextI1Data[] =
  546. {
  547.   /* Plane 0 */
  548.   0xFFFF,0xFFFF,0xFC00,0xC000,0x0000,0x0C00,0xC000,0x0000,
  549.   0x0C00,0xC007,0x0000,0x0C00,0xC007,0xC000,0x0C00,0xC007,
  550.   0xF000,0x0C00,0xC007,0xFC00,0x0C00,0xC007,0xFF00,0x0C00,
  551.   0xC007,0xFFC0,0x0C00,0xC007,0xFFC0,0x0C00,0xC007,0xFF00,
  552.   0x0C00,0xC007,0xFC00,0x0C00,0xC007,0xF000,0x0C00,0xC007,
  553.   0xC000,0x0C00,0xC007,0x0000,0x0C00,0xC000,0x0000,0x0C00,
  554.   0xC000,0x0000,0x0C00,0xFFFF,0xFFFF,0xFC00,
  555. };
  556.  
  557. static struct Image ONEnextI1 = {
  558.   0, 0, 38, 18, 1, ONEnextI1Data, 0x0001, 0x0000, NULL
  559. };
  560.  
  561.  
  562. static UWORD chip ONEkillI1Data[] =
  563. {
  564.   /* Plane 0 */
  565.   0xFFFF,0xFFFF,0xFC00,0xC000,0x0000,0x0C00,0xC000,0x0000,
  566.   0x0C00,0xC001,0xFE00,0x0C00,0xC007,0xFF80,0x0C00,0xC01C,
  567.   0x78E0,0x0C00,0xC03C,0x78F0,0x0C00,0xC03F,0xFFF0,0x0C00,
  568.   0xC007,0xFF80,0x0C00,0xC001,0xFE00,0x0C00,0xC000,0xFC00,
  569.   0x0C00,0xC3C0,0x780F,0x0C00,0xC1FE,0x03FE,0x0C00,0xC003,
  570.   0xFF00,0x0C00,0xC0EF,0x87CC,0x0C00,0xC0F8,0x007C,0x0C00,
  571.   0xC000,0x0000,0x0C00,0xFFFF,0xFFFF,0xFC00,
  572. };
  573.  
  574. static struct Image ONEkillI1 = {
  575.   0, 0, 38, 18, 1, ONEkillI1Data, 0x0001, 0x0000, NULL
  576. };
  577.  
  578.  
  579. static struct Gadget *createbutton(struct Gadget *, struct NewGadget *,
  580.                    struct Image *, struct Image *,
  581.                    long, long);
  582.  
  583. struct Gadget *createbuttonbar(struct Gadget **glist, void *vi, BOOL simple)
  584. {
  585.   struct NewGadget ng;
  586.   struct Gadget *gad;
  587.   long leftedge;
  588.  
  589.   gad = CreateContext(glist);
  590.   
  591.   /* Initialize common values */
  592.   ng.ng_VisualInfo = vi;
  593.   ng.ng_TextAttr = NULL;
  594.   ng.ng_GadgetText = NULL;
  595.   ng.ng_Width = 38;
  596.   ng.ng_Height = 18;
  597.   ng.ng_TopEdge = yoffset + 1;
  598.  
  599.   leftedge = xoffset + 2;
  600.   if (simple) {
  601.     gad = createbutton(gad,&ng,&ONEopenI1,NULL,leftedge,BBGD_OPEN);
  602.     gad = createbutton(gad,&ng,&ONEsave1I1,NULL,leftedge+=39,BBGD_SAVE);
  603.     gad = createbutton(gad,&ng,&ONEcutI1,NULL,leftedge+=39+4,BBGD_CUT);
  604.     gad = createbutton(gad,&ng,&ONEcopyI1,NULL,leftedge+=39,BBGD_COPY);
  605.     gad = createbutton(gad,&ng,&ONEpasteI1,NULL,leftedge+=39,BBGD_PASTE);
  606.     gad = createbutton(gad,&ng,&ONEprevI1,NULL,leftedge+=39+4,BBGD_PREV);
  607.     gad = createbutton(gad,&ng,&ONEnextI1,NULL,leftedge+=39,BBGD_NEXT);
  608.     gad = createbutton(gad,&ng,&ONEkillI1,NULL,leftedge+=39+4,BBGD_KILL);
  609.   }
  610.   else {
  611.     gad = createbutton(gad,&ng,&openI1,&openI2,leftedge,BBGD_OPEN);
  612.     gad = createbutton(gad,&ng,&save1I1,&save1I2,leftedge+=39,BBGD_SAVE);
  613.     gad = createbutton(gad,&ng,&cutI1,&cutI2,leftedge+=39+4,BBGD_CUT);
  614.     gad = createbutton(gad,&ng,©I1,©I2,leftedge+=39,BBGD_COPY);
  615.     gad = createbutton(gad,&ng,&pasteI1,&pasteI2,leftedge+=39,BBGD_PASTE);
  616.     gad = createbutton(gad,&ng,&prevI1,&prevI2,leftedge+=39+4,BBGD_PREV);
  617.     gad = createbutton(gad,&ng,&nextI1,&nextI2,leftedge+=39,BBGD_NEXT);
  618.     gad = createbutton(gad,&ng,&killI1,&killI2,leftedge+=39+4,BBGD_KILL);
  619.   }
  620.   return gad;
  621. }
  622.  
  623.  
  624. static struct Gadget *createbutton(struct Gadget *gad,
  625.                    struct NewGadget *ng,
  626.                    struct Image *image1,
  627.                    struct Image *image2,
  628.                    long left, long id)
  629. {
  630.   ng->ng_LeftEdge = left;
  631.   ng->ng_GadgetID = id;
  632.   gad = CreateGadget(GENERIC_KIND, gad, ng, TAG_END);
  633.   gad->GadgetType |= GTYP_BOOLGADGET;
  634.   gad->Activation = GACT_RELVERIFY;
  635.   gad->MutualExclude = 0;
  636.   gad->SpecialInfo = NULL;
  637.   gad->GadgetRender = image1;
  638.   gad->SelectRender = image2;
  639.   gad->Flags = GFLG_GADGIMAGE | (image2 ? GFLG_GADGHIMAGE : GFLG_GADGHCOMP);
  640.  
  641.   return gad;
  642. }
  643.